package com.hnou.boxuegu.utils;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5Utils {
    /**
     *
     * @param text 输入的字符串数据
     * @return MD5加密后的字符串
     */
    public static String md5(String text){
        MessageDigest digest = null;
        try {
            digest = MessageDigest.getInstance("md5");// 获取md5加密器对象
            byte[] result = digest.digest(text.getBytes());// 将text转换为md5加密结果
            StringBuilder sb = new StringBuilder();
            for (byte b :
                    result) {
                int number = b & 0xff; // &： java中的 位运算 与
                // 将整数转换为十六进制的字符串
                String hex = Integer.toHexString(number);
                if(hex.length() ==0 ){
                    sb.append("0"+hex);
                }else{
                    sb.append(hex);
                }
            }
            return sb.toString();// 返回加密结果十六进制字符串

        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
            return "";
        }
    }
}
